package view;

import indexador.Indexador;

import java.io.File;
import java.util.Scanner;

import modelo.Pagina;
import parser.html.HTMLJsoup;
import parser.xml.EscreverArquivoXML;
import util.Parametros;
import PesquisaYoutube.BuscarQueryYoutube;
import crawler.CrawlerController;

public class Principal {
	 
    public static void main(String[] args) {
        try {   
        	Parametros.termos();
        	recuperarPesquisas();
        	recuperarPaginas();
        	indexarBase();
        }
        catch(Exception erro) {
            System.out.println("Erro ao iniciar: "+erro.getMessage());
        }
    }
    
    public static void recuperarPesquisas() {
    	BuscarQueryYoutube pesquisa = new BuscarQueryYoutube();
    	pesquisa.processarTermos();
    }
    
    public static void recuperarPesquisasPorTermo() {
    	BuscarQueryYoutube pesquisa = new BuscarQueryYoutube();
    	pesquisa.executarConsulta("comedia");
    }
    
    public static void recuperarPaginas() throws Exception {
    	CrawlerController.executarCrawler();
    }
    
    public static void indexarBase() {
    	Indexador index = Indexador.getInstance();
    	index.abrirIndice();
    	
    	String dir = Parametros.ARMAZENAMENTO + Parametros.SEPARATOR + "paginasCrawler"; 
		File diretorio = new File(dir); 
				
		for (File arquivo : diretorio.listFiles()) {
			try {
				HTMLJsoup.getInstance().parse(new Scanner(arquivo).useDelimiter("\\Z").next());
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
    	
    	index.fecharIndice();
    }
    
    public static void gravarXml() {
    	EscreverArquivoXML.gravaXMLListaProdutos(Pagina.getPaginasCache(), Parametros.ARMAZENAMENTO);
    }
}
